02 - Spawn de inimigos e colisão básica

No objeto do inimigo, adicionar isso no evento Step

move_towards_point(player.x,player.y,2)

var inst = instance_place(x, y, inimigo0);
if (inst != noone) {
    var dir = point_direction(inst.x, inst.y, x, y);
    var push_speed = 3;
    x += lengthdir_x(push_speed, dir);
    y += lengthdir_y(push_speed, dir);
}


No objeto spawnController:

Evento Criar:

maxDeInimigos = 25;
inimigosAtuais = 0;

Evento Etapa

if inimigosAtuais < maxDeInimigos && alarm[0] < 0{
	alarm[0] = game_get_speed(gamespeed_fps) * 2
}

Evento Alarme -> Alarme 0

//Definir a distância que o inimigo pode aparecer
var dist_min = 700
var dist_max = 900

//Escolher direção e distância aleatorias pro spawn
var dist = random_range(dist_min,dist_max)
var dir = random(360)

//Traduzir para X e Y
var pos_X = player.x + lengthdir_x(dist,dir)
var pos_Y = player.y + lengthdir_y(dist,dir)

instance_create_layer(pos_X, pos_Y, "Instances", inimigo0);
inimigosAtuais++;